// pages/symptoms/second.js
const app = getApp()
Page({
    /**
     * 页面的初始数据
     */
    data: {
        imagePath: '',
        selectedValue: null,
        isModalVisible: false,
        // 选中的症状index索引
        chooseTxtJsonObj: [],
        // 选中的症状描述
        chooseTxtContentJsonObj: [],
        symptomText: ''
    },
    // 初始化症状
    onShow() {
        const chooseTxtJsonStr = wx.getStorageSync('chooseTxt');
        const chooseTxtContentJsonStr = wx.getStorageSync('chooseTxtContent');
        let chooseTxtJsonObj, chooseTxtContentJsonObj = [];

        if (chooseTxtJsonStr.length > 0) chooseTxtJsonObj = JSON.parse(chooseTxtJsonStr);
        if (chooseTxtContentJsonStr.length > 0) chooseTxtContentJsonObj = JSON.parse(chooseTxtContentJsonStr);

        this.setData({
            chooseTxtJsonObj: chooseTxtJsonObj,
            chooseTxtContentJsonObj: chooseTxtContentJsonObj
        });
    },
    // 选择图片
    chooseImage() {
        const that = this;
        wx.chooseImage({
            count: 1, // 最多选择1张图片
            sizeType: ['original', 'compressed'], // 可以指定是原图还是压缩图
            sourceType: ['album', 'camera'], // 可以指定来源是相册还是相机
            success(res) {
                // 设置图片路径
                that.setData({
                    imagePath: res.tempFilePaths[0]
                });
            }
        });
    },
    toggleRadio(event) {
        const value = event.currentTarget.dataset.value;
        console.log('获取当前选中的值', value);
        this.setData({
            selectedValue: this.data.selectedValue === value ? null : value // 切换选中状态
        });
    },
    // 转至登陆授权页面
    toLogin() {
        wx.redirectTo({
            url: '/pages/login/index',
        })
    },
    // 付费检测
    payCheck() {
        let that = this;
        let cacheUserInfo = wx.getStorageSync('user_phone');
        let user_phone = (cacheUserInfo.phoneNumber && typeof (cacheUserInfo.phoneNumber) != 'undefined') ? cacheUserInfo.phoneNumber : '';

        wx.request({
            url: app.globalData.domain + 'v3/index/intoOrder',
            data: {
                type: 9,
                combo_type: 0,
                user_phone: user_phone
            },
            success: function (res) {
                console.log(res)
                if (res.data.code != 0) {
                    wx.showModal({
                        title: '温馨提示',
                        showCancel: false,
                        content: res.data.msg
                    })
                    return;
                }
                // 发起支付
                wx.requestPayment({
                    timeStamp: res.data.data.timeStamp,
                    nonceStr: res.data.data.nonceStr,
                    package: res.data.data.package,
                    signType: res.data.data.signType,
                    paySign: res.data.data.paySign,
                    success(res) {
                        console.log('debug支付成功')
                        that.showModal();
                    },
                    fail(res) {
                        wx.showModal({
                            title: '温馨提示',
                            showCancel: false,
                            content: '支付失败!'
                        })
                        return;
                    }
                })
            }
        })
    },
    // 免费看广告检测
    freeCheck() {
        //正常看一次广告
        var that = this;
        // that.showModal();
        // return ;
        if (wx.createRewardedVideoAd) {
            let videoAd = wx.createRewardedVideoAd({
                adUnitId: 'adunit-b35cfe40852d6b0f'
            })
            try {
                if (videoAd.closeHandler) {
                    videoAd.offClose(videoAd.closeHandler);
                    console.log("---videoAd.offClose 卸载成功---");
                }
            } catch (e) {
                console.log("---videoAd.offClose 卸载失败---");
                console.error(e);
            }
            videoAd.onLoad(() => { })
            videoAd.onError((err) => {
                console.error('激励视频光告加载失败', err)
            })
            videoAd.closeHandler = function (res) {
                // 用户点击了【关闭广告】按钮
                videoAd.offClose();
                if (res && res.isEnded || res === undefined) {
                    // 正常播放结束，可以下发奖励
                    if (!videoAd) return

                    videoAd.offClose();
                    // 正常播放结束，调起弹出层
                    that.showModal();
                } else {
                    //提前关闭小程序
                }
            };
            videoAd.onClose(videoAd.closeHandler);
            // 用户触发广告后，显示激励视频广告
            if (videoAd) {
                videoAd.show().catch(() => {
                    // 失败重试
                    videoAd.load()
                        .then(() => videoAd.show())
                        .catch(err => {
                            console.error('激励视频 广告显示失败', err)
                        })
                })
            }
        }
    },
    // 开始检测
    showModal() {
        var that = this;

        if (that.data.chooseTxtContentJsonObj.length > 0) {
            wx.request({
                url: app.globalData.domain + 'v4/Symptom/index',
                method: 'POST',
                data: {
                    'symptom_desc': JSON.stringify(this.data.chooseTxtContentJsonObj.join(',')),
                },
                success: function (res) {
                    if (res.data.code == 0) {
                        var respSymptomText = '';
                        const isEmpty = (obj) => {
                            return Object.keys(obj).length === 0;
                        };

                        if (!isEmpty(res.data.data)) {
                            Object.keys(res.data.data).forEach(key => {
                                respSymptomText += key + ' : ' + res.data.data[key].join(',') + '\n';
                            });
                        }

                        that.setData({
                            isModalVisible: true,
                            symptomText: respSymptomText.length == 0 ? '暂无药方' : respSymptomText
                        });
                    }
                    // 清空之前选择的症状
                    wx.removeStorageSync('chooseTxt');  
                    wx.removeStorageSync('chooseTxtContent');
                }
            });
        } else {
            wx.showToast({
                title: '请选择症状',
                icon: 'none',             
                duration: 2000,           
                mask: true                
              });              
        }
    },

    hideModal() {
        this.setData({
            isModalVisible: false // 隐藏弹出层
        });
    },
    beforeStep() {
        wx.navigateTo({
            url: '/pages/symptoms/index',
        })
    }
})